package com.phiture.erp.basic.dal.entity;

import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;

import java.math.BigDecimal;

/**
 * 物料计划资料 DO
 *
 * @author 芋道源码
 */
@TableName("erp_material_plan")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ErpMaterialPlanDO extends BaseDO {

    /**
     * 编号
     */
    @TableId
    private Long id;
    /**
     * 计划状态(0:未核准 1:核准 2:禁用 3:已删除)
     */
    private Integer status;
    /**
     * 禁用组织
     */
    private String freezeOrgUnit;
    /**
     * 物料
     */
    private Long materialId;
    /**
     * 物料属性( 10010:规划件 10020:虚拟件 10030:自制件 10040:外购件 10050:委外件 10060:其他)
     */
    private Integer materialAttr;
    /**
     * 制造策略( 10110:MTS10基于预测 10120:MTS11基于预测(只计算毛需求，不考虑库存) 10130:MTS20基于预测和订单)
     */
    private Integer planStrategy;
    /**
     * 物料特性(10410:主物料 10420:主辅料 10430:主参配料 0:)
     */
    private Integer materialChar;
    /**
     * 批量增量
     */
    private BigDecimal batchincQty;
    /**
     * 生产周期(天)
     */
    private Integer produceLeadTime;
    /**
     * 采购周期(天)
     */
    private Integer recevingLeadTime;
    /**
     * 责任部门
     */
    private Long dutyDepartmentId;
    /**
     * 是否倒冲
     */
    private Integer isBackFlush;
    /**
     * 领送料模式(11010:生产领料 11030:看板 11050:直送 11040:不领料)
     */
    private String issMode;
    /**
     * 领料提前期
     */
    private Integer issLeadTime;
    /**
     * 计划类型(0:人工订货 1:再订货点 2:MPS 3:MRP)
     */
    private Integer planningMode;
    /**
     * 关重件
     */
    private Boolean isKeyPart;
    /**
     * 质检组织
     */
    private Long qualityOrgId;
    /**
     * 生产线
     */
    private Long productLineId;
    /**
     * 默认采购组织
     */
    private Long purOrgId;

}